package net.xdclass.annotation;

import java.lang.annotation.*;

/**
 * @author Administrator
 * @description 防重注解
 * @since 2023-06-27 22:48
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RepeatSubmit {
    /**
     * 防重提交，两种类型：1 方法参数 2 令牌
     */
    enum Type {PARAM, TOKEN}

    /**
     * 默认防重提交，是方法参数
     * @return
     */
    Type limitType() default Type.PARAM;

    /**
     * 加锁过期时间默认 5 秒
     * @return
     */
    long lockTime() default 5;
}
